package ace.module.account.core.impl.service.authentication.handler;

import ace.module.account.core.impl.constant.AccountErrorCoreConstant;
import java.util.function.Consumer;

/**
 * @author caspar
 * @date 2023/3/16 9:33
 */
public interface RegisterQuickManager {
  /**
   * 没有账户并且支持快速注册的时候，进行回调,并抛出指定异常代码 {@link AccountErrorCoreConstant#SUPPORT_REGISTER_QUICK}
   *
   * @param hasAccount        是否有账户
   * @param registerQuickFlag 是否支持快速注册标志
   * @param consumer          value是sessionkey,回调事件
   * @throws ace.cmp.core.exception.BusinessException
   */
  void ifSupportRegisterQuickThenAndThrow(
      boolean hasAccount, boolean registerQuickFlag, Consumer<String> consumer);
}
